Apparatuses and methods for managing row access counts

ABSTRACT

Embodiments of the disclosure are drawn to apparatuses and methods for managing access counts of wordlines of a memory. Repeated access to an aggressor wordline may cause increased data degradation in nearby victim wordlines of the memory. The access count of a given wordline may be stored in counter memory cells positioned along that wordline. When the wordline is accessed, the counter memory cells may be read out to refresh circuit, which may determine the access count based on the values stored in the counter memory cells. If the access count is below a threshold, the access count may be incremented and written back to the counter memory cells. If the access count is above the threshold, the refresh circuit may signal that the accessed wordline is an aggressor, and may reset the value of the access count before writing it back to the counter memory cells.

BACKGROUND

Information may be stored on individual memory cells of the memory as a physical signal (e.g., a charge on a capacitive element). The memory may be a volatile memory, and the physical signal may decay over time (which may degrade or destroy the information stored in the memory cells). It may be necessary to periodically refresh the information in the memory cells by, for example, rewriting the information to restore the physical signal to an initial value.

As memory components have decreased in size, the density of memory cells has greatly increased. Repeated access to a particular memory cell or group of memory cells (often referred to as a ‘row hammer’) may cause an increased rate of data degradation in nearby memory cells. It may be desirable to identify addresses which are repeatedly accessed so that the nearby memory cells may be refreshed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a semiconductor device according to an embodiment of the present disclosure.

FIG. 2 is a block diagram of a memory cell array according to an embodiment of the present disclosure.

FIG. 3 is a block diagram of a refresh address control circuit according to an embodiment of the present disclosure.

FIG. 4 is a block diagram of a refresh address generator according to an embodiment of the present disclosure.

FIG. 5 is a block diagram of a row decoder according to an embodiment of the present disclosure.

FIG. 6 is a flow chart depicting a method of managing row access counts according to an embodiment of the present disclosure.

DETAILED DESCRIPTION

The following description of certain embodiments is merely exemplary in nature and is in no way intended to limit the scope of the disclosure or its applications or uses. In the following detailed description of embodiments of the present systems and methods, reference is made to the accompanying drawings which form a part hereof, and which are shown by way of illustration specific embodiments in which the described systems and methods may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice presently disclosed systems and methods, and it is to be understood that other embodiments may be utilized and that structural and logical changes may be made without departing from the spirit and scope of the disclosure. Moreover, for the purpose of clarity, detailed descriptions of certain features will not be discussed when they would be apparent to those with skill in the art so as not to obscure the description of embodiments of the disclosure. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the disclosure is defined only by the appended claims.

Information in a volatile memory device may be stored in memory cells (e.g., as a charge on a capacitive element), and may decay over time. The memory cells may be organized into rows (word lines) and columns (bit lines), and the memory cells may be accessed on a row-by-row basis. The memory cells may also be periodically refreshed on a row-by-row basis as part of an auto-refresh operation, where the information along the row is restored to prevent data loss due to the decay over time (e.g., the memory cells may be restored to an initial charge value associated with the logical level stored in that memory cell). Repeated access to a particular row of memory (e.g., an aggressor row) may cause an increased rate of decay in neighboring rows (e.g., victim rows) due, for example, to electromagnetic coupling between the rows. The victim rows may decay faster than the timing of the auto-refresh operation. In order to prevent information from being lost, it may be desirable to identify aggressor rows so that the corresponding victim rows can be refreshed as part of a targeted refresh operation.

Aggressor rows may be determined based on one or more of a number of accesses to the row, the rate of accesses to the row, and/or the length of time over which the row is accessed. In order to prevent row hammer effects from being missed, it may be desirable to track accesses to each row of a memory device.

The present disclosure is drawn to apparatuses, systems, and methods for managing row access counts. Each row of the memory may include a number of memory cells which hold an access count of the row they are located on. These memory cells may generally be referred to as counter memory cells. In some embodiments of the disclosure, the counter memory cells are additional memory cells to the memory cells in the row of memory. In some embodiments of the disclosure, the counter memory cells are included in the memory cells of the row of memory. The individual counter memory cells for a given row may store bits that, when taken together, represent an access count for that row. When the row is accessed, the counter memory cells may be read to a counter circuit. The counter circuit may check a value of the count. If the value of the count is below (or equal to) a threshold, the value of the count may be changed (e.g., incremented), and the changed value may be written back to the counter memory cells of the accessed row. If the value of the count is above the threshold value, a control signal may be provided which indicates that the currently accessed row is an aggressor row. The value of the count may then be reset, and the reset value written back to the counter memory cells. Based on the control signal, the memory device may determine the positions of one or more victim rows associated with the aggressor row (e.g., the currently accessed row), and perform a targeted refresh on the victim rows (and/or queue up the aggressor row for a later targeted refresh operation). By storing an access count on the row with which the access count is associated, it may be possible to achieve increased reliability and/or speed of access tracking.

FIG. 1 is a block diagram of a semiconductor device according to at least one embodiment of the disclosure. The semiconductor device 100 may be a semiconductor memory device, such as a DRAM device integrated on a single semiconductor chip.

The semiconductor device 100 includes a memory array 118. The memory array 118 is shown as including a plurality of memory banks. In the embodiment of FIG. 1, the memory array 118 is shown as including eight memory banks BANK0-BANK7. More or fewer banks may be included in the memory array 118 of other embodiments. Each memory bank includes a plurality of word lines WL (rows), a plurality of bit lines BL (columns), and a plurality of memory cells MC arranged at intersections of the plurality of word lines WL and the plurality of bit lines BL. Some of the memory cells MC along the wordlines may be counter memory cells 126. The counter memory cells 126 may be positioned at the intersection of counter bitlines and the wordlines. There may be multiple counter memory cells 126 along a given wordline, and collectively the values stored in the counter memory cells 126 may represent a respective access count XCount of the wordline. A data bus associated with the counter memory cells 126 may be coupled to the refresh address control circuit 116. The data bus associated with the counter memory cells 126 may be separate from the data bus which couples the other memory cells to the IO circuit 122.

The selection of the word line WL is performed by a row decoder 108 and the selection of the bit lines BL is performed by a column decoder 110. In the embodiment of FIG. 1, the row decoder 108 includes a respective row decoder for each memory bank and the column decoder 110 includes a respective column decoder for each memory bank. The bit lines BL are coupled to a respective sense amplifier (SAMP). Read data from the bit line BL is amplified by the sense amplifier SAMP, and transferred to read/write amplifiers 120 over complementary local data lines (LIOT/B), transfer gate (TG), and complementary main data lines (MIOT/B). Conversely, write data outputted from the read/write amplifiers 120 is transferred to the sense amplifier SAMP over the complementary main data lines MIOT/B, the transfer gate TG, and the complementary local data lines LIOT/B, and written in the memory cell MC coupled to the bit line BL. Information may generally be read from and written to the counter memory cells 126 in an analogous fashion, except that the data in the counter memory cells 126 are read and written by the refresh address control circuit 116.

The semiconductor device 100 may employ a plurality of external terminals that include command and address (C/A) terminals coupled to a command and address bus to receive commands and addresses, and a CS signal, clock terminals to receive clocks CK and /CK, data terminals DQ to provide data, and power supply terminals to receive power supply potentials VDD, VSS, VDDQ, and VSSQ.

The clock terminals are supplied with external clocks CK and/CK that are provided to an input circuit 112. The external clocks may be complementary. The input circuit 112 generates an internal clock ICLK based on the CK and/CK clocks. The ICLK clock is provided to the command decoder 110 and to an internal clock generator 114. The internal clock generator 114 provides various internal clocks LCLK based on the ICLK clock. The LCLK clocks may be used for timing operation of various internal circuits. The internal data clocks LCLK are provided to the input/output circuit 122 to time operation of circuits included in the input/output circuit 122, for example, to data receivers to time the receipt of write data.

The C/A terminals may be supplied with memory addresses. The memory addresses supplied to the C/A terminals are transferred, via a command/address input circuit 102, to an address decoder 104. The address decoder 104 receives the address and supplies a decoded row address XADD to the row decoder 108 and supplies a decoded column address YADD to the column decoder 110. The address decoder 104 may also supply a decoded bank address BADD, which may indicate the bank of the memory array 118 containing the decoded row address XADD and column address YADD. The C/A terminals may be supplied with commands. Examples of commands include timing commands for controlling the timing of various operations, access commands for accessing the memory, such as read commands for performing read operations and write commands for performing write operations, as well as other commands and operations. The access commands may be associated with one or more row address XADD, column address YADD, and bank address BADD to indicate the memory cell(s) to be accessed.

The commands may be provided as internal command signals to a command decoder 106 via the command/address input circuit 102. The command decoder 106 includes circuits to decode the internal command signals to generate various internal signals and commands for performing operations. For example, the command decoder 106 may provide a row command signal to select a word line and a column command signal to select a bit line.

The device 100 may receive an access command which is a row activation command ACT. When the row activation command ACT is received, a bank address BADD and a row address XADD are timely supplied with the row activation command ACT.

The device 100 may receive an access command which is a read command. When a read command is received, a bank address BADD and a column address YADD are timely supplied with the read command, read data is read from memory cells in the memory array 118 corresponding to the row address XADD and column address YADD. The read command is received by the command decoder 106, which provides internal commands so that read data from the memory array 118 is provided to the read/write amplifiers 120. The read data is output to outside from the data terminals DQ via the input/output circuit 122. The access count Xcount stored in the counter memory cells 126 of the row associated with the row address XADD are read to the refresh address control circuit 116, and an updated value of the access count Xcount® is written back to the counter memory cells 126 of the row XADD.

The device 100 may receive an access command which is a write command. When the write command is received, a bank address BADD and a column address YADD are timely supplied with the write command, write data supplied to the data terminals DQ is written to a memory cells in the memory array 118 corresponding to the row address and column address. The write command is received by the command decoder 106, which provides internal commands so that the write data is received by data receivers in the input/output circuit 122. Write clocks may also be provided to the external clock terminals for timing the receipt of the write data by the data receivers of the input/output circuit 122. The write data is supplied via the input/output circuit 122 to the read/write amplifiers 120, and by the read/write amplifiers 120 to the memory array 118 to be written into the memory cell MC. Similar to the read operation described above, the access count Xcount stored in the counter memory cells 126 of the row associated with the row address XADD are read to the refresh address control circuit 116, and an updated value of the access count Xcount′ is written back to the counter memory cells 126 of the row XADD.

The device 100 may also receive commands causing it to carry out an auto-refresh operation. The refresh signal AREF may be a pulse signal which is activated when the command decoder 106 receives a signal which indicates an auto-refresh command. In some embodiments, the auto-refresh command may be externally issued to the memory device 100. In some embodiments, the auto-refresh command may be periodically generated by a component of the device. In some embodiments, when an external signal indicates a self-refresh entry command, the refresh signal AREF may also be activated. The refresh signal AREF may be activated once immediately after command input, and thereafter may be cyclically activated at desired internal timing. Thus, refresh operations may continue automatically. A self-refresh exit command may cause the automatic activation of the refresh signal AREF to stop and return to an IDLE state.

The refresh signal AREF is supplied to the refresh address control circuit 116. The refresh address control circuit 116 supplies a refresh row address RXADD to the row decoder 108, which may refresh a wordline WL indicated by the refresh row address RXADD. The refresh address control circuit 116 may control a timing of the refresh operation, and may generate and provide the refresh address RXADD. The refresh address control circuit 116 may be controlled to change details of the refreshing address RXADD (e.g., how the refresh address is calculated, the timing of the refresh addresses), or may operate based on internal logic.

The refresh address control circuit 116 may selectively output a targeted refresh address (e.g., a victim address) or an automatic refresh address (auto-refresh address) as the refreshing address RXADD. The automatic refresh addresses may be a sequence of addresses which are provided based on activations of the auto-refresh signal AREF. The refresh address control circuit 116 may cycle through the sequence of auto-refresh addresses at a rate determined by AREF. In some embodiments, the sequence of auto-refresh addresses may include all the addresses in the memory bank 118. In some embodiments, the auto-refresh signal AREF may be issued with a frequency such that most or all of the addresses in the memory bank 118 are refreshed within a certain period, which may be based on an expected rate at which information in the memory cells MC decays.

The refresh address control circuit 116 may also determine targeted refresh addresses which are addresses that require refreshing (e.g., victim addresses corresponding to victim rows) based on the access pattern of nearby addresses (e.g., aggressor addresses associated with aggressor rows) in the memory array 118. The refresh address control circuit 116 may monitor accesses to the different wordlines WL of the memory bank. When the row decoder 108 sends an access command to a particular row, the counter memory cells 126 along that row may have their information read to the refresh address control circuit 116 as the access count Xcount. The refresh address control circuit 116 may determine an access count of the row based on the values stored in the counter memory cells 126 of the accessed row.

The refresh address control circuit 116 may determine if the accessed row is an aggressor row based on the access count from the counter memory cells 126. If the current row is not an aggressor row, the value of the access count may be changed and then the refresh address control circuit may write the new value of the access count back to the counter memory cells 126 of the accessed row. If the refresh address control circuit 116 determines that the accessed row is an aggressor, then the refresh address control circuit 116 may use the row address XADD of the accessed row to determine one or more victim row addresses and provide them as a refresh address RXADD as part of a targeted refresh operation. When the accessed row is determined to be an aggressor, the access count Xcount associated with that row may be reset (e.g., to a minimum value, such as 0). In some embodiments, the refresh address control circuit 116 may queue up identified aggressor addresses (e.g., in a register) for later use in targeted refresh operations.

The refresh address RXADD may be provided with a timing based on a timing of the refresh signal AREF. The refresh address control circuit 116 may have time slots corresponding to the timing of AREF, and may provide one or more refresh addresses RXADD during each time slot. In some embodiments, the targeted refresh address may be issued in (e.g., “steal”) a time slot which would otherwise have been assigned to an auto-refresh address. In some embodiments, certain time slots may be reserved for targeted refresh addresses, and the refresh address control circuit 116 may determine whether to provide a targeted refresh address, not provide an address during that time slot, or provide an auto-refresh address instead during the time slot.

The targeted refresh address may be based on access characteristics over time of the row addresses XADD received from the address decoder 104. For example, the access characteristics may be determined based on the value of the access count Xcount stored in the count memory cells 126. The refresh address control circuit 116 may use different methods to calculate a targeted refresh address based on a row address XADD identified as an aggressor address based on the access count. For example, the refresh address control circuit 116 may determine if a given row is an aggressor address, and then calculate and provide addresses corresponding to victim addresses of the aggressor address as the targeted refresh address. In some embodiments, more than one victim address may correspond to a given aggressor address. In this case the refresh address control circuit may queue up multiple targeted refresh addresses, and provide them sequentially when it determines that a targeted refresh address should be provided. The refresh address control circuit 116 may provide the targeted refresh address right away, or may queue up the targeted refresh address to be provided at a later time (e.g., in the next time slot available for a targeted refresh).

The power supply terminals are supplied with power supply potentials VDD and VSS. The power supply potentials VDD and VSS are supplied to an internal voltage generator circuit 124. The internal voltage generator circuit 124 generates various internal potentials VPP, VOD, VARY, VPERI, and the like based on the power supply potentials VDD and VSS supplied to the power supply terminals. The internal potential VPP is mainly used in the row decoder 108, the internal potentials VOD and VARY are mainly used in the sense amplifiers SAMP included in the memory array 118, and the internal potential VPERI is used in many peripheral circuit blocks.

The power supply terminals are also supplied with power supply potentials VDDQ and VSSQ. The power supply potentials VDDQ and VSSQ are supplied to the input/output circuit 122. The power supply potentials VDDQ and VSSQ supplied to the power supply terminals may be the same potentials as the power supply potentials VDD and VSS supplied to the power supply terminals in an embodiment of the disclosure. The power supply potentials VDDQ and VSSQ supplied to the power supply terminals may be different potentials from the power supply potentials VDD and VSS supplied to the power supply terminals in another embodiment of the disclosure. The power supply potentials VDDQ and VSSQ supplied to the power supply terminals are used for the input/output circuit 122 so that power supply noise generated by the input/output circuit 122 does not propagate to the other circuit blocks.

FIG. 2 is a block diagram of a memory cell array according to an embodiment of the present disclosure. The memory cell array 200 may represent an exemplary portion of a memory array, such as the memory array 118 of FIG. 1. The memory cell array 200 includes a plurality of word lines WL (rows) and bit lines BL (columns). A row driver 234 is coupled to the rows. A plurality of memory cells MC, such as example memory cell 230, are located at the intersection of the rows and columns. Certain of the memory cells along each of the wordlines WL may be counter memory cells 126. Each of the bitlines BL may be coupled to a respective sense amplifier 232.

Each of the memory cells MC may store information. In some embodiments, the information may be stored as a binary code, and each memory cell MC may store a bit, which may be either at a logical high or a logical low level. Example memory cell 230 shows a particular implementation which may be used to store a bit of information in some embodiments. Other types of memory cells may be used in other examples. In the example memory cell 230, a capacitive element stores the bit of information as a charge. A first charge level may represent a logical high level, while a second charge level may represent a logical low level. One node of the capacitive element is coupled to a reference voltage (e.g., VSS). The other node of the capacitive element is coupled to a switch. In the example memory cell 230, the switch is implemented using a transistor. A sense node of the switch (e.g., the gate of the transistor) is coupled to the wordline. The wordline WL may be accessed by the row driver 234 setting a voltage along the wordline such that the switches in the memory cells MC are closed, coupling the capacitive elements (or other bit storage element) to the associated bitlines BL.

The sense amplifiers 232 may read or write a value of a bit of information along the bitline BL to memory cell MC at the accessed wordline WL. The sense amplifiers may convert a signal along the bit line to a signal which is ‘readable’ by other elements of the memory device (e.g., by amplifying a voltage). The bit lines may be coupled to an input/output circuit (e.g., input/output circuit 122 of FIG. 1) via a respective column select switch, which may be a column select transistor.

In an example read operation, when a wordline WL is accessed, the memory cells MC may provide their charge onto the coupled bitlines BL which may cause a change in a voltage and/or current along the bitline BL. The sense amplifier 232 may determine a logical level of the accessed memory cell MC based on the resulting voltage and/or current along the bitline BL, and may provide a signal corresponding to the logical level through the column select transistor to the input/output circuit.

In an example write operation, the sense amplifiers 232 may receive a signal indicating a logical level to be written to the accessed memory cells from the input/output circuit. The sense amplifier 232 may provide a voltage and/or current along the coupled bitline BL (e.g., along the bitlines with active column select transistors) at a level corresponding to the logical level to be written. The voltage and/or current along the bitline BL may charge the capacitive element at the intersection of the bitline with an accessed wordline to a charge level associated with the written logical level. In this manner, by specifying the row which is accessed, and which bitlines to record data from (and/or write data to), specific memory cells MC may be accessed during one or more operations of the memory device.

During an example refresh operation (either targeted or auto-refresh), the wordline WL to be refreshed may be read, and then logical value read from each of the memory cells along that may be written back to the same memory cells. In this manner the level of charge in the refreshed memory cells MC may be restored to the full value associated with the logical level stored in that memory cell.

Certain memory cells along each of the wordlines may be counter memory cells 226. The counter memory cells 226 may generally be similar to the other memory cells of the memory array 200. In some embodiments, the counter memory cells 226 may be physically the same as the other memory cells MC. However, rather than being coupled to the input/output circuit of the memory, the counter memory cells 226 may be coupled to the refresh address control circuit (e.g., refresh address control circuit 116 of FIG. 1). The refresh address control circuit may read and/or write a value of an access count, which may be stored as a binary number in the counter memory cells 226 of a given wordline. In some embodiments, the refresh address control circuit may be in an area local to the counter memory cell 226, and so the communication of the refresh address control circuit and the counter memory cells 226 may be very rapid.

In some embodiments, the counter memory cells 226 may be organized along particular bitlines of the memory array 200. Thus, there may be counter bitlines (and associated counter sense amplifiers 232) which are coupled to the counter memory cells 226. The counter memory cells 226 may be arranged at the intersection of the counter bitlines and the wordlines. The counter bitlines may include counter select transistors (similar to the column select transistors), which selectively allow data from the counter bitlines to be read to the counter of the refresh address control circuit. In some embodiments, the time duration over which the counter select transistors are active may be different (e.g., the counter select transistors may be active longer) than the time the column select transistor(s) are active in a given access operation. The counter bitlines and counter sense amplifiers may be coupled through a data bus to a counter of a refresh address control circuit. In some embodiments, the counter memory cells 226 may be positioned along an end of the memory array 200. This may decrease a length of the counter data bus. For example, if there are some number n of counter memory cells 226 along each wordline, the counter memory cells 226 may be the first n memory cells of the wordline, or the last n memory cells of the wordline.

For clarity of illustration, only a few wordlines WL and bitlines BL (and their corresponding memory cells MC) are shown in FIG. 2. More wordlines WL and bitlines BL may be provided in a memory array of the present disclosure. Similarly, FIG. 2 only shows a single counter bitline of counter memory cells 226. However, each wordline WL may have a number of counter memory cells 226 based on an expected maximum value of access count that may need to be stored in the counter memory cells 226. In some embodiments, there may be between 8 and 16 counter memory cells 226 along each wordline. More or fewer counter memory cells 226 may be used in other examples.

FIG. 3 is a block diagram of a refresh address control circuit according to an embodiment of the present disclosure. In some embodiments, the refresh address control circuit 316 may be used to implement the refresh address control circuit 116 of FIG. 1. Certain internal components and signals of the refresh address control circuit 316 are shown to illustrate the operation of the refresh address control circuit 316. The dotted line around the refresh address control circuit 316, the row decoder 308, and the memory array 318 is shown to represent that in certain embodiments, each of the components within the dotted line may correspond to a particular bank of memory, and that these components may be repeated for each of the banks of memory. In some embodiments, the components shown within the dotted line may be associated with each of the memory banks. Thus, there may be multiple refresh address control circuits 316 and row decoders 308. For the sake of brevity, components for only a single bank will be described.

A DRAM interface 340 may provide one or more signals to an address refresh control circuit 316 and row decoder 308 which in turn (along with a column decoder, not shown) may perform access operation on a memory array 318. The refresh address control circuit 316 may include an RHR state control 342, an aggressor address register 344, a refresh address generator 350, a counter 346, and a threshold comparator 348. The counter 346 may be coupled to counter memory cells 326 in the memory array 318.

When a row of the memory array 318 is accessed, the values of the counter memory cells 326 along that row are read to the counter 346. The counter 346 may determine a value of the access count for that row based on the values read from the counter memory cells 326. The counter 346 may be a count control circuit, which may manage a value of the count stored in the counter memory cells 326 (e.g., by reading the raw data in the counter memory cells 326 as a numerical value, writing new numerical values to the counter memory cells 326 etc.). The counter 346 may provide the count value to a threshold comparator 348, which may determine if the value of the count exceeds a threshold (e.g., if the value is greater than the threshold). If the value does not exceed the threshold (e.g., if the value is less than or equal to the threshold), then the counter may increment a value of the count and write the incremented count back to the counter memory cells 326. If the value does exceed the threshold, then the current address XADD may be determined to be an aggressor address. If the current address XADD is an aggressor address, a signal Agg may be provided to the aggressor address register 344, which may record (e.g., latch) the current value of the row address XADD. If the value of the count exceeds the threshold, then the counter 346 may reset a value of the count by writing an initial value of the count (e.g., 0) back to the counter memory cells 326.

The RHR state controller 342 may provide the signal RHR to indicate that a targeted refresh operation, such as a row hammer refresh (e.g., a refresh of the victim rows corresponding to an identified aggressor row) should occur. The RHR state controller 342 may also provide an internal refresh signal IREF, to indicate that an auto-refresh operation should occur. Responsive to an activation of RHR, the aggressor address register 344 may provide an aggressor address HitXADD, and the refresh address generator 350 may provide a refresh address RXADD, which may be one or more victim addresses associated with HitXADD. Responsive to IREF, the refresh address generator 350 may provide an auto-refresh address as the refresh address RXADD. The row decoder 308 may perform a refresh operation responsive to the refresh address RXADD and the row hammer refresh signal RHR. The row decoder 308 may perform an auto-refresh operation based on the refresh address RXADD and the internal refresh signal IREF.

The DRAM interface 340 may represent one or more components which provides signals to components of the bank. In some embodiments, the DRAM interface 340 may represent a memory controller coupled to the semiconductor memory device (e.g., device 100 of FIG. 1). In some embodiments, the DRAM interface 340 may represent components such as the command address input circuit 102, the address decoder 104, and/or the command decoder 106 of FIG. 1. The DRAM interface 340 may provide a row address XADD, the auto-refresh signal AREF, an activation signal ACT, and a precharge signal Pre. The auto-refresh signal AREF may be a periodic signal which may indicate when an auto-refresh operation is to occur. The activation signal ACT may be provided to activate a given bank of the memory. The precharge signal Pre may be provided to precharge the given bank of the memory. The row address XADD may be a signal which specifies one or more particular wordlines of the memory array 318, and may be a signal including multiple bits (which may be transmitted in series or in parallel).

The counter 346 and threshold comparator 348 may work together to determine if the access count for the row associated with the current row address XADD exceeds a threshold. When a given wordline is accessed, the value stored in each of the counter memory cells 326 along that wordline are read to the counter 346, which interprets the values of the counter memory cells 326 as an access count XCount. The counter 346 may interpret the memory cells 326 by determining a value of the access count XCount based on the bits stored in the counter memory cells 326. The threshold comparator 348 may compare the value of the access count XCount to a threshold value. In some embodiments, the value of the threshold may be a programmable value. The threshold comparator 348 may provide the signal Agg if the value of the count exceeds the value of the threshold. If the value of the count does not exceed the threshold, the counter 346 increments the value of the count, and writes the incremented value back to the counter memory cells 326. If the value of the count does exceed the threshold, the counter 346 may reset the value of the access count back to a minimum value and write the reset value back to the counter memory cells 326.

In some embodiments, the counter 346 may also increment the value of the access count if the accessed row remains activated for a certain period of time. The counter 346 may be coupled to a timer (e.g., an oscillator) which may periodically activate a timing signal. After incrementing the value of the access count when the row is accessed, the counter 346 may increment the access count again each time the timing signal activates. In some embodiments, each time the timing signal activates, the value of the access count may be compared to the threshold again. In an example timing, the counter 346 may increment an accessed row every 100-200 ns that it remains accessed. Other timings may be used in other examples. In the embodiment with a timer, additional logic may be used by the refresh address control circuit 316 to monitor activations of the memory array 318, to prevent information from being lost (e.g., the refresh address control circuit 316 may ensure that there is enough time to increment the value of the access count before updating the value).

In some embodiments, the counter 346 may directly determine if the value of the access count exceeds a threshold, and the threshold comparator 348 may be omitted. For example, the counter may have a maximum value, and when it increments after reaching the maximum value, the counter 346 may “roll over” back to a minimum value. The counter 346 may provide the signal Agg responsive to rolling over. In addition, since the value of the counter resets to the minimum value, the rolled over value of the counter may be written back to the counter memory cells 326 to reset them after the signal Agg flags the accessed row as an aggressor address.

In some embodiments, the counter 346 and the threshold comparator 348 may be physically close to the memory array 318, such that the counter bus XCount is relatively short compared to other buses into and out of the memory array 318. When either the comparator 348 or the counter 346 determines that value of XCount exceeds the threshold, the signal Agg may be sent to the aggressor address register 344 (and/or other components of the address refresh control circuit 316). In some embodiments, the counter 346 and the comparator 348 may be closer to the memory array 318 than the other components of the refresh address control circuit 316 (e.g., the RHR state control 342, the aggressor address register 344, and/or the refresh address generator 350). In some embodiments, the counter 346 and the threshold comparator 348 may be circuits which are local to the memory array 318, while the other components of the refresh address control circuit 316 may be bank level circuits. In some embodiments, only the signal Agg needs to run to the bank level circuits, which may reduce an area and power required for the XCount bus.

The aggressor address register 344 may store one or more row addresses which have been identified as aggressor addresses based on their access counts. Responsive to the command signal Agg from the threshold comparator 348, the aggressor address register 344 may store the current row address XADD which is being accessed. The aggressor address register 344 may provide the stored address as a match address HitXADD to the refresh address generator 350, which may calculate one or more victim addresses associated with the match address HitXADD. In some embodiments, the aggressor address register 344 may be a latch circuit which stores a single address. In some embodiments, the aggressor address register 344 may be a buffer which stores multiple addresses, and provides the first stored address as the match address HitXADD. The aggressor address register 344 may switch to a next address in the register after the victim row(s) associated with the first address have been refreshed.

The RHR state controller 342 may receive the auto-refresh signal AREF and provide the row hammer refresh signal RHR. The auto-refresh signal AREF may be periodically generated and may be used to control the timing of refresh operations. The memory device may carry out a sequence of auto-refresh operations in order to periodically refresh the rows of the memory device. The RHR signal may be generated in order to indicate that the device should refresh a particular targeted row (e.g., a victim row) instead of an address from the sequence of auto-refresh addresses. The RHR state controller 342 may use internal logic to provide the RHR signal. In some embodiments, the RHR state controller 342 may provide the RHR signal based on certain number of activations of AREF (e.g., every 4^(th) activation of AREF). The RHR state controller 342 may also provide an internal refresh signal IREF, which may indicate that an auto-refresh operation should take place. In some embodiments, the signals RHR and IREF may be generated such that they are not active at the same time (e.g., are not both at a high logic level at the same time).

The refresh address generator 350 may receive the row hammer refresh signal RHR and the match address HitXADD. The match address HitXADD may represent an aggressor row. The refresh address generator 350 may determine the locations of one or more victim rows based on the match address HitXADD and provide them as the refresh address RXADD. In some embodiments, the victim rows may include rows which are physically adjacent to the aggressor row (e.g., HitXADD+1 and HitXADD−1). In some embodiments, the victim rows may also include rows which are physically adjacent to the physically adjacent rows of the aggressor row (e.g., HitXADD+2 and HitXADD−2). Other relationships between victim rows and the identified aggressor rows may be used in other examples.

The refresh address generator 350 may determine the value of the refresh address RXADD based on the row hammer refresh signal RHR and the internal auto-refresh signal IREF. In some embodiments, when the signal IREF is active, the refresh address generator 350 may provide one of a sequence of auto refresh addresses. When the signal RHR is active, the refresh address generator 350 may provide a targeted refresh address, such as a victim address, as the refresh address RXADD.

The row decoder 308 may perform one or more operations on the memory array 318 based on the received signals and addresses. For example, responsive to the activation signal ACT and the row address XADD (and IREF and RHR being at a low logic level), the row decoder 308 may direct one or more access operations (for example, a read operation) on the specified row address XADD. Responsive to the RHR signal being active, the row decoder 308 may refresh the refresh address RXADD. In some embodiments, the counter 346 may increment the access count stored in the counter memory cells 326 responsive to a refresh operation of a given row. In some embodiments, the counter 346 may not increment the access count responsive to a refresh operation.

FIG. 4 is a block diagram of a refresh address generator according to an embodiment of the present disclosure. In some embodiments, the refresh address generator 400 may be used to implement the refresh address generator 350 of FIG. 3. The refresh address generator 400 may include the RHR state controller 342 of FIG. 3 as cycle generator 442. The refresh address generator 400 receives the match address HitXADD (which, in some embodiments, may be an identified aggressor address) from aggressor address register 444 (e.g., aggressor address register 344 of FIG. 3) and also receives the auto-refresh signal AREF. The refresh address generator 400 provides either an auto-refresh address Pre_RXADD or a victim address HitXADD2 based on match address HitXADD as the refresh address RXADD. The refresh address generator 400 may include an auto-refresh address generator 452 (AREF address generator), a cycle generator 442, an address scrambler 454, a multiplexer 458, and a NOR gate circuit 456.

The refresh cycle generator 442 determines if an automatic refresh operation or a targeted refresh operation will occur. In some embodiments, where the refresh address generator 400 is capable of generating multiple types of victim addresses (e.g., of victim rows with different physical relationships to the identified aggressor row) the refresh cycle generator 442 may also determine which type targeted refresh operation will occur. In the particular embodiment of FIG. 4, the refresh address generator 400 may provide a first set of victim addresses and a second set of victim addresses for a given aggressor address (e.g., HitXADD). The first set of victim addresses may be physically adjacent to the aggressor address (e.g., HitXADD+1 and HitXADD−1). The second set of victim addresses may be physically adjacent to the physically adjacent rows (e.g., HitXADD+2 and HitXADD−2).

The refresh cycle generator 442 receives the refresh signal AREF and selectively provides the first command signal RHR and/or the second command signal RHRplusEn in response. The first command signal RHR may indicate a first row hammer refresh operation (e.g., refresh the rows adjacent to a row corresponding to HitXADD1). The second command signal RHRplusEn may indicate a second row hammer refresh operation (e.g., refresh rows non-adjacent to a row corresponding to HitXADD1). The second row hammer refresh operation may only be indicated when both the first and second command signals are active. The refresh cycle generator 442 may periodically provide one (or both) of the first and second command signals based on a rate of the automatic refresh signal AREF. The rates that the first and second command signals are provided may be different from each other.

The AREF address generator 452 generates an automatic refresh address Pre_RXADD in response to the refresh signal AREF. The automatic refresh address Pre_RXADD may be part of a sequence of addresses to be refreshed as part of an automatic refresh operation. The AREF address generator 452 may update the current automatic refresh address Pre_RXADD to a next address in the sequence in response to the refresh signal AREF. The AREF address generator 452 is also provided the first command signal RHR from cycle generator 442. When the first command signal is active, the AREF address generator 452 may be controlled to stop updating the automatic refresh address Pre_RXADD even if the automatic refresh signal AREF is active. As described herein, since the command signals indicate that a row hammer refresh operation is to be conducted instead of an automatic refresh operation, this allows the automatic refresh operation to be suspended while the row hammer refresh is carried out, and resumed when the command signals are not active.

The address scrambler 454 calculates one or more addresses to be refreshed based on the match address HitXAdd and which row hammer refresh operation is indicated by the refresh cycle generator 442. The address scrambler 1296 may be provided the match address HitXADD1, the first command signal Rhr, and the second command signal RHRplusEn as inputs. The address scrambler 1296 may provide a hammer refresh address HitXADD2 in response to these inputs. The hammer refresh address HitXADD2 may be an address for a memory location (e.g., a wordline) that may be affected by repeated activation of the memory location corresponding to the match address HitXADD. In other words, the match address HitXADD may be an ‘aggressor’ address, and the hammer refresh address HitXADD2 may be a ‘victim’ address. Different calculations may be used for generating different victim addresses as the hammer refresh address HitXADD2.

The address scrambler 454 may calculate the hammer refresh address HitXADD2 based on the match address HitXADD. The address scrambler may employ different calculations based on the state of the first command signal RHR and the second command signal RHRplusEn. In one example, a first calculation may be used when RHR alone is active, and a second calculation may be used when both RHR and RHRplusEn are active. The calculations may provide hammer refresh addresses HitXADD2 corresponding to wordlines which have a known physical relationship (e.g., a spatial relationship) with a wordline corresponding to the match address HitXADD. The calculations may result in a single hammer refresh address HitXADD2 in some embodiments of the disclosure. The calculations may result in a sequence of hammer refresh address HitXADD2 in other embodiments of the disclosure. The calculations triggered by the first command signal RHR may provide hammer refresh addresses HitXADD2 corresponding to first refresh wordlines of a memory with a first physical relationship to an aggressor wordline corresponding to the match address HitXADD and the second command signal RHRplusEn may provide hammer refresh addresses HitXADD2 corresponding to second refresh wordlines having a second physical relationship to the match address HitXADD.

In one embodiment, the first calculation triggered by first command signal RHR causes the address scrambler 454 to output a pair of addresses which are adjacent to the match address HitXADD1 (e.g., HitXADD2=HitXADD1+/−1). The second calculation may be triggered by both first command signal RHR and second command signal RHRplusEn being active, and may cause the address scrambler 454 to output a pair of addresses which are adjacent to the adjacent addresses of the hammer address HitXADD1 (e.g., HitXADD2=HitXADD1+/−2). Other calculations are possible in other example embodiments. For example, the first calculation may be based on a physical relationship with the match address HitXADD1, while the second calculation may be based on a physical relationship with the address(es) provided by the first calculation.

The multiplexer 458 which accepts the automatic refresh address Pre_RXADD provided by the AREF address generator 452 and the hammer refresh address HitXADD2 provided by the address scrambler 454 and outputs one of them as the refreshing address RLXADD. The multiplexer 458 may select between the two refresh addresses based on the first and second command signals RHR and RHRplusEn. For example, a NOR gate circuit 456 is provided the first and second command signals RHR and RHRplusEn and an output is provided to the multiplexer 458 to control selection of providing the Pre_RXADD or HitXADD2 addresses as the refreshing address RXADD. The NOR gate circuit 456 outputs a low logic level if either or both of the first and second command signals Rhr, RHRplusEn is active (e.g., at a high level). The multiplexer 458 outputs the hammer refresh address HitXADD2 in response to that low logic level. Thus, the multiplexer 458 outputs the hammer refresh address HitXADD2 if either of the command signals indicating a row refresh is active, and outputs the automatic refresh address Pre_RXADD otherwise.

In this manner, the refresh address generator 400 selectively outputs a refreshing row address RXADD, which may be used by the row decoder (e.g., row decoder 108 of FIG. 1) to refresh a given memory location corresponding to that address. The cycle generator 442 selectively activates the first command signal RHR and the second command signal RHRplusEn to cause the address scrambler 454 to calculate a hammer refresh address HitXADD2 based on the match address HitXADD identified by the aggressor address register 444, and causes refresh address generator 400 to output it as the refreshing row address RXADD. The cycle generator 442 controls when a hammer refresh address HitXADD2 is calculated and provided as the refresh address RXADD, and also controls which calculations should be used to generate the victim address HitXADD2.

The refresh address generator 400 of FIG. 4 may show a particular embodiment of a refresh address generator which provides multiple different types of victim addresses based on an identified aggressor address. For example, the refresh address generator 400 provides refresh addresses which are adjacent to the aggressor address (e.g., +/−1) and also addresses which are adjacent to the adjacent addresses (e.g., +/−2). In other embodiments, the refresh address generator may provide only a single type of victim address (e.g., only the adjacent addresses). Such an embodiment may generally be similar to the embodiment shown in FIG. 4, but the signal RHRplusEn and the NOR gate 456 may be eliminated.

FIG. 5 is a block diagram of a row decoder according to an embodiment of the present disclosure. The row decoder 500 may implement the row decoder 108 of FIG. 1 and/or the row decoder 308 of FIG. 3 in some embodiments of the disclosure. The row decoder 500 may determine whether to activate a word line of the memory bank (e.g., a bank of memory array 118 of FIG. 1, 200 of FIG. 2, and/or 308 of FIG. 3) corresponding to the row address XADD or the refresh address RXADD.

As shown in FIG. 5, the row decoder 500 is provided with a row activation timing generator 562, which receives the internal refresh signal IREF and the row hammer refresh signal RHR, the active signal ACT, and the pre-charge signal Pre and provides a state signal RefPD, a word-line actuation signal wdEn, a sense-amplifier actuation signal saEn, and a bit-line equalize signal BLEQ. In some embodiments, the signals IREF and RHR may be the auto-refresh signal AREF. The state signal RefPD is supplied to a multiplexer 560, which selects one of the row address XADD and the refresh address RXADD. An address XADDi selected by the multiplexer 560 is supplied to a row redundancy control circuit 564. If the word line indicated by the address XADDi is replaced by a redundant word line, a hit signal RedMatch is activated, and a row address XADDd1, which is a replacement destination, is generated. The addresses XADDi and XADDd1 are supplied to a multiplexer 566; wherein, if the hit signal RedMatch is not activated, the address XADDi is selected; and, if the hit signal RedMatch is activated, the address XADDd1 is selected. The selected address XADD2 is supplied to an X address decoder 568. The X address decoder 568 controls the operation of the word line indicated by the address XADD2, the sense amplifier corresponding thereto, an equalize circuit, etc. based on the word-line actuation signal wdEn, the sense-amplifier actuation signal saEn, and the bit-line equalize signal BLEQ.

FIG. 6 is a flow chart depicting a method of managing row access counts according to an embodiment of the present disclosure. The method 600 includes block 610, which describes accessing a wordline of a memory. Block 610 may generally be followed by block 620, which describes reading values from counter memory cells of the wordline to determine an access count of the wordline. Block 620 may generally be followed by block 630, which describes comparing the access count to a threshold. Block 630 may generally be followed by block 640, which describes updating the value of the access count based on the comparing. Block 640 may generally be followed by block 650, which describes writing to the counter memory cells of the accessed wordline the updated value of the access count. Although the method 600 is described with respect to certain steps (e.g., as described in blocks 610-650) it will be appreciated that more or less steps may be used in other embodiments, or that steps may be repeated and/or performed in different orders.

Block 610 describes accessing a wordline of a memory. The memory may include a memory array, with information stored in a plurality of memory cells. The memory cells may be arranged at the intersection of wordlines (rows) and bitlines (columns). In order to perform an access operation (such as a read and/or write operation) to particular memory cells, a wordline of the memory may be accessed. During the access operation a voltage may be applied to the wordline, which may allow the information in the memory cells to be read out along the bitlines.

Block 620 describes reading values from counter memory cells of the wordline to determine an access count of the wordline. Each wordline may include a plurality of memory cells. A portion of the memory cells along each wordline may be counter memory cells. The information stored in the counter memory cells of a given wordline may represent an access count of that wordline. The counter memory cells may be arranged at the intersection of the wordline with a number of counter bitlines. When the wordline is accessed, the counter memory cells may be read out along the counter bitlines to a counter circuit (e.g., counter 346 of FIG. 3), which may determine a value of the access count based on the values read from the counter memory cells.

Block 630 describes comparing the access count to a threshold. The value of the access count read from the memory cells may be compared to a threshold value to determine if the currently accessed wordline is an aggressor wordline. The threshold may be a set property of the memory, or may be programmable value. In some embodiments, there may be a threshold comparator (e.g., threshold comparator 348 of FIG. 3) which compares the value of the access count to the threshold. In some embodiments, the counter may manage the comparing itself (e.g., by sending a signal when the counter rolls from a maximum value back to a minimum value). A command signal may be generated responsive to the value of the access count being greater than the value of the threshold. An address associated with the accessed wordline may be latched responsive to the command signal. The latched address may be used to determine one or more victim rows for a targeted refresh operation.

Block 640 describes updating the value of the access count based on the comparing. If the value of the access count is at or below the threshold, the value of the access count may be incremented by the counter. If the value of the access count is above the threshold, the value of the access count may be reset to a minimum value (e.g., 0). In some embodiments, the counter may reset the value of the access count based on ‘rolling over’ by incrementing from a maximum value back to a minimum value of the counter. In some embodiments, the value of the access count may be incremented again if the wordline remains accessed for more than a certain period of time. For example, the counter may be coupled to an oscillator, which may produce a periodically activate a timing signal. Each time the timing signal activates the counter may increment the value of the access count (in addition to the initial increment when the wordline was first accessed). In some embodiments, the value of the access count may be compared to the threshold again each time it is incremented due to the timing signal.

Block 650 describes writing to the counter memory cells of the accessed wordline the updated value of the access count. Once the value of the access count has been updated (e.g., incremented or reset to a minimum value), the updated value is written back to the counter memory cells of the accessed wordline. The updated value may be written back while the wordline is still accessed from the initial access operation (e.g., as described in block 610).

In some embodiments of the disclosure, a targeted refresh on one or more victim wordlines associated with the accessed wordline may be performed based on comparing the access count to the threshold. For example, if the access count is greater than the threshold, then the accessed wordline may be identified as an aggressor wordline. An address associated with the accessed wordline may be latched (e.g., in aggressor address register 344 of FIG. 3 or 444 of FIG. 4) responsive to the access count of the accessed wordline being greater than the threshold. A refresh address control circuit (e.g., refresh address control circuit 116 of FIG. 1 or 316 of FIG. 3) may indicate that a targeted refresh operation should be performed, with timing based off an auto-refresh signal of the memory. When performing a targeted refresh operation, the refresh address control circuit may calculate addresses associated with one or more victim wordlines associated with an aggressor address retrieved from the latch. In some embodiments, these victim rows may be adjacent to the accessed wordline. The victim wordlines may then be refreshed. In this manner, a memory device may count accesses to the wordlines of the memory device, may identify certain wordlines as aggressor wordlines based on the access counts, and may perform targeted refreshes of victim wordlines associated with the identified aggressor wordlines.

It is to be appreciated that any one of the examples, embodiments or processes described herein may be combined with one or more other examples, embodiments and/or processes or be separated and/or performed amongst separate devices or device portions in accordance with the present systems, devices and methods.

Finally, the above-discussion is intended to be merely illustrative of the present system and should not be construed as limiting the appended claims to any particular embodiment or group of embodiments. Thus, while the present system has been described in particular detail with reference to exemplary embodiments, it should also be appreciated that numerous modifications and alternative embodiments may be devised by those having ordinary skill in the art without departing from the broader and intended spirit and scope of the present system as set forth in the claims that follow. Accordingly, the specification and drawings are to be regarded in an illustrative manner and are not intended to limit the scope of the appended claims. 

1. An apparatus comprising: memory cells configured to store data; counter memory cells; a wordline coupled to each of the memory cells and each of the counter memory cells, wherein the counter memory cells are configured to store a number of accesses to the wordline; and a refresh address control circuit configured to determine if the wordline is an aggressor wordline based on the number of accesses.
 2. The apparatus of claim 1, wherein the memory cells are coupled to a first data bus, and the counter memory cells are coupled to a second data bus.
 3. An apparatus comprising: memory cells configured to store data; counter memory cells; a wordline coupled to each of the memory cells and each of the counter memory cells, wherein the counter memory cells are configured to store a number of accesses to the wordline, wherein the memory cells are coupled to a first data bus, and the counter memory cells are coupled to a second data bus; and a counter circuit coupled to the second data bus wherein the counter circuit, responsive to an access command associated with the wordline, is configured to read the number of accesses and write an updated number of accesses.
 4. The apparatus of claim 1, wherein the additional memory cells are positioned at an end of the wordline.
 5. The apparatus of claim 1, wherein the counter memory cells and the memory cells are physically identical.
 6. (canceled)
 7. An apparatus comprising: a memory array comprising a plurality of wordlines, each of the wordlines comprising counter memory cells, a memory interface configured to perform an access operation on a specified one of the plurality of wordlines; a refresh address control circuit which, responsive to the access operation, is configured to read values in the counter memory cells of the specified one of the plurality of wordlines, determine an access count of the specified one of the plurality of wordlines based on the read values, and write an updated access count to the counter memory cells of the specified one of the plurality of wordlines.
 8. The apparatus of claim 7, wherein the counter memory cells are positioned at intersections of the plurality of wordlines with a plurality of counter bitlines.
 9. The apparatus of claim 7, wherein the refresh address control circuit is configured to compare a value of the access count to a threshold value.
 10. The apparatus of claim 9, wherein the refresh address control circuit is configured to write an incremented value of the access count to the counter memory cells of the specified one of the plurality of wordlines when the value of the access count is less than the threshold value.
 11. The apparatus of claim 9, wherein the refresh address control circuit is configured to reset the value of the access count to a minimum value and write the minimum value to the counter memory cells of the specified one of the plurality of wordlines when the value of the access count is greater than the threshold value.
 12. The apparatus of claim 9, wherein the refresh address control circuit is configured to refresh a victim wordline associated with the specified one of the plurality of wordlines when the value of the access count is greater than the threshold value.
 13. The apparatus of claim 7, wherein the refresh address control circuit comprises an oscillator configured to periodically activate a timing signal, and wherein the refresh address control circuit is configured to increment a value of the access count responsive to an activation of the timing signal.
 14. An apparatus comprising: a wordline comprising a plurality of memory cells, wherein a portion of the plurality of memory cells are counter memory cells configured to store an access count; a counter circuit configured to read the access count from the counter memory cells responsive to an access command associated with the wordline; and a refresh control circuit configured to determine if the wordline is an aggressor wordline based on a comparison of the access count to a threshold and further configured to perform a targeted refresh of at least one victim wordline associated with the aggressor wordline.
 15. The apparatus of claim 14, wherein the counter memory cells are positioned at an end of the wordline.
 16. The apparatus of claim 14, wherein the refresh control circuit comprises an aggressor address register configured to store a row address associated with the aggressor wordline.
 17. The apparatus of claim 16, wherein the aggressor address register is configured to store a current row address responsive to the access count being greater than the threshold.
 18. The apparatus of claim 14, wherein the refresh control circuit comprises a counter configured to read the access count from the counter memory cells and write an updated value of the access count back to the counter memory cells.
 19. The apparatus of claim 18, wherein when the value of the access count does not exceed the threshold the refresh control circuit is configured to increment the value of the access count and write the incremented value back to the counter memory cells, and wherein when the value of the access count exceeds the threshold the refresh control circuit is configured to reset the value of the access count and write the reset value back to the counter memory cells.
 20. The apparatus of claim 18, wherein the counter comprises a maximum value and a minimum value, and wherein when the access count read from the counter memory cells is at the maximum value, the counter is configured to set the value of the access count to the minimum value and write the minimum value back to the counter memory cells. 